Ambidextrous mouse

ABSTRACT

An ambidextrous mouse is disclosed. The ambidextrous mouse is configured for both left and right handed use. The mouse may include right handed buttons on the front side of the mouse and left handed buttons on the back side of the mouse. The user may change the handedness of the mouse by rotating the mouse about a vertical axis of the mouse such that the left hand can use the left hand buttons and the right hand can use the right hand buttons. The mouse may include a handedness selection system for configuring the mouse for right handed or left handed use even though the mouse has the capability for both right and left hands.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/727,455, filed on Oct. 6, 2017 and published on Feb. 1, 2018 as U.S.Patent Publication No. 2018-0032158, which is a continuation of U.S.patent application Ser. No. 12/189,030, filed Aug. 8, 2008 (now U.S.Pat. No. 9,785,258 issued on Oct. 10, 2017), which is a divisional ofU.S. patent application Ser. No. 10/654,108, filed Sep. 2, 2003 (nowU.S. Pat. No. 7,808,479 issued on Oct. 5, 2010); the entire disclosuresof which are incorporated herein by reference in their entirety for allpurposes.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates generally to an input device for use in acomputer system. More particularly, the present invention relates to anambidextrous mouse.

Description of the Related Art

Most computer systems, as for example general purpose computers such asportable computers and desktop computers, receive input from a user viaan input device such as a mouse. As is generally well known, the mouseallows a user to move an input pointer (e.g., cursor) and to makeselections with respect to a graphical user interface (GUI) on a displayscreen. The mouse typically includes a trackball or optical sensor(located at the bottom side of the mouse) for translating the motion ofthe users hand into signals that the computer system can use. Forexample, by positioning the mouse on a desktop and moving it thereon,the user can move an input pointer or cursor in similar directionswithin the GUI. The mouse also conventionally includes one or morebuttons, which are located on the top side of the mouse. These one ormore buttons, when selected, can initiate a GUI action such as menu orobject selections. The one or more buttons are typically provided by onor more button caps that move relative to the housing (e.g., through anopening in the housing). Mice may also include a scroll wheel to givethe user scrolling functionality. The scroll wheel saves time and steps,and allows a user to move through documents by physically rolling thewheel forward or backward-instead of clicking on the scroll bardisplayed on the GUI. In the past, scrolling was implemented byselecting the scroll bar with the mouse, and moving the scroll bar onthe GUI by moving the mouse up or down. Furthermore, many popular miceoffer an asymmetric shape that fits the asymmetric shape of the hand.Unfortunately, an asymmetric mouse is handed, i.e., it can only be usedby a right or left hand.

Although mice designs such as those described above work well, there arecontinuing efforts to improve their form, feel and functionality.

SUMMARY OF THE INVENTION

The invention relates, in one embodiment, to an ambidextrous mouseconfigured for left and right handed use. The handedness of the mouse ischanged by rotating the mouse about a vertical axis of the mouse by 180degrees.

The invention relates, in another embodiment, to a touch sensitive mousecomprising a touch sensitive surface that senses a user's touch when theuser grabs the mouse.

The invention relates, in another embodiment, to a computing system. Thecomputing system includes a computer. The computing system also includesa mouse operatively coupled to the computer. The mouse includes aposition sensing device and a touch sensing device. The position sensingdevice is configured to generate tracking signals when the mouse ismoved relative to a surface. The touch sensing device is configured togenerate hand signals when a hand is placed over the mouse.

The invention relates, in another embodiment, to a method for operatinga mouse having one or more buttons. The method includes determining if auser is touching the mouse. The method also includes determining theuser based on the user's touch. The method additionally includesconfiguring the mouse based on the user.

The invention relates, in another embodiment, to a user determinationmethod for a mouse. The method includes providing baseline hand signals.The method also includes generating a current hand signal when a usergrabs the mouse. The method further includes comparing the current handsignal to at least one baseline hand signal. The method additionallyincludes determining a characteristic of the user based on the currentand baseline hand signals.

The invention relates, in another embodiment, to a method for operatinga mouse. The method includes determining if a user is touching themouse. The method also includes determining the handedness of the userbased on the user's touch. The method further includes configuring themotion axes of the mouse based on the handedness of the user. The methodadditionally includes generating position signals based on mousemovement and the motion axes. Moreover, the method includes sending theposition signals to a host. The method also includes forming previousand current hand images and calculating the difference between theprevious and current hand images. Thereafter, the method furtherincludes generating control signals based on the difference between theprevious and current hand images and sending the control signal to thehost.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be readily understood by the following detaileddescription in conjunction with the accompanying drawings, wherein likereference numerals designate like structural elements, and in which:

FIG. 1 is a perspective diagram of a mouse, in accordance with oneembodiment of the present invention.

FIG. 2A is perspective diagram of a unibody ambidextrous mouse, inaccordance with one embodiment of the present invention.

FIG. 2B is front or back view of the unibody ambidextrous mouse shown inFIG. 2A, in accordance with one embodiment of the present invention.

FIG. 2C is right side view of a unibody ambidextrous mouse shown in FIG.2A, in accordance with one embodiment of the present invention.

FIG. 2D is a left side view of a unibody ambidextrous mouse shown inFIG. 2A, in accordance with one embodiment of the present invention.

FIG. 2E is a side view of the unibody ambidextrous mouse shown of FIG.2A in use, in accordance with one embodiment of the present invention.

FIG. 2F is a side view of the unibody ambidextrous mouse shown of FIG.2A in use, in accordance with one embodiment of the present invention.

FIG. 2G is a front view of the unibody ambidextrous mouse shown of FIG.2A in use, in accordance with one embodiment of the present invention.

FIG. 3A is a side elevation view, in cross section of a mouse, inaccordance with one embodiment of the present invention.

FIG. 3B is a top view of the mouse shown in FIG. 3A, in accordance withone embodiment of the present invention.

FIG. 3C is a broken away side elevation view, in cross section of themouse shown in FIG. 3A, in accordance with one embodiment of the presentinvention.

FIG. 3D is a broken away side elevation view, in cross section of themouse shown in FIG. 3A, in accordance with one embodiment of the presentinvention.

FIG. 4 is a top view of a mouse, in accordance with another embodimentof the present invention.

FIG. 5 is block diagram of a computer system, in accordance with oneembodiment of the present invention.

FIG. 6 is a perspective diagram of a touch sensitive mouse, inaccordance with one embodiment of the present invention.

FIG. 7A is a top view of the touch sensitive mouse of FIG. 6 producing afirst hand signal, in accordance with one embodiment of the presentinvention.

FIG. 7B is a top view of the touch sensitive mouse of FIG. 6 producing asecond hand signal, in accordance with one embodiment of the presentinvention.

FIG. 8 is a perspective diagram of a mouse, in accordance with oneembodiment of the present invention.

FIG. 9 is a mouse operational method, in accordance with one embodimentof the present invention.

FIG. 10 is a handedness determination method, in accordance with oneembodiment of the present invention.

FIG. 11 is an actual user determination method, in accordance with oneembodiment of the present invention.

FIG. 12 is an absolute mapping method, in accordance with one embodimentof the present invention.

FIG. 13 is a relative mapping method, in accordance with one embodimentof the present invention.

FIG. 14 is a mouse operational method, in accordance with one embodimentof the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The invention generally pertains to an ambidextrous mouse that can beused equally by both left and right hands. One aspect of the inventioncorresponds to a mouse that has the same feel and function for both theleft and right hands. Another aspect of the invention corresponds to amouse having a handedness selection system for configuring the mouse forright and left hand use. Another aspect of the invention corresponds toa mouse having a touch sensing device capable of sensing a user's touchwhen a user positions their hand over the mouse. The sensed user's touchmay be used to determine characteristics of the user as well as toidentify the user. The sensed user's touch may also be used to performbutton functions.

These and other embodiments of the invention are discussed below withreference to FIGS. 1-14. However, those skilled in the art will readilyappreciate that the detailed description given herein with respect tothese figures is for explanatory purposes as the invention extendsbeyond these limited embodiments.

FIG. 1 is a perspective diagram of a mouse 20, in accordance with oneembodiment of the invention. The mouse 20 is a handheld device forproviding user commands to a host system. In most cases, the mouse isconfigured to control movements and/or performing actions on a graphicaluser interface of a display screen associated with a computer system.The mouse may be coupled to the host system via a wired or wirelessconnection. In the case of wired connections, the mouse may include acable for connecting to the host system. In the case of wirelessconnections, the mouse may include a radio frequency (RF) link, opticalinfrared (IR) link, Bluetooth link or the like in order to eliminate thecable. In the illustrated embodiment, the mouse includes a wirelesslink, thus there are no cables or cords extending therefrom.

The mouse 20 generally includes a housing 22 that provides a structurefor moving the mouse 20 along a surface and for gripping the mouse 20for movement thereof. The housing 22 also helps to define the shape orform of the mouse 20. That is, the contour of the housing 22 embodiesthe outward physical appearance of the mouse 20. The contour may berectilinear, curvilinear or both. In most cases, a bottom member 24 ofthe housing has an external contour that substantially conforms to thecontour of a flat surface such as a desktop. In addition, a top member26 of the mouse housing 22 generally has an external contour thatsubstantially conforms to the contour of the inside surface of a hand.The top member 26 may be symmetric and/or asymmetric. Asymmetric miceare typically handed (e.g., dedicated to either the left or right hand)and symmetric mice are typically ambidextrous (e.g., capable of beingused by both the left and right hand). In the illustrated embodiment,the lateral shape of the top member 26 (e.g., cross section in the X-Zplane) is asymmetric in order to provide ergonomic comfort to theasymmetric hand and the longitudinal shape of the top member 26 (e.g.,cross section in the Y-Z plane) is symmetric in order to allow the mouseto be used by either hand (ambidextrous). With regards to ambidextrous,the mouse 20 may be rotated about the vertical axis by 180 degrees tochange usage from right handed to left handed (or vice versa).

The housing 22 also provides a structure for enclosing, containingand/or supporting the components of the mouse 20. Although not shown,the components may correspond to electrical and/or mechanical componentsfor operating the mouse 20. For example, the components may include atrack ball or optical assembly for monitoring the movement of the mouse20 along a surface and for sending signals corresponding to themovements to the host system. In most cases, the signals produced bythese components direct an input pointer to move on a display screen ina direction similar to the direction of the mouse 20 as it is movedacross a surface. For example, when the mouse 20 is moved forward orbackwards, the input pointer is moved vertically up or down,respectively, on the display screen. In addition, when the mouse 20 ismoved from side to side, the input pointer is moved from side to side onthe display screen.

The mouse 20 also includes one or more buttons 28 for performing actionson the display screen. In most cases, the user simply presses on thebutton 28 in order to perform the action. By way of example, the actionsmay include selecting an item on the screen, opening a file or document,executing instructions, starting a program, viewing a menu, and/or thelike. The button functions may also include functions that make iteasier to navigate through the host system, as for example, zoom,scroll, open different menus, home the input pointer, perform keyboardrelated actions such as enter, delete, insert, page up/down, and thelike.

The buttons 28 generally include one or more actuators (not shown inFIG. 1) for sensing and/or detecting when a user's finger has pressed onthe button 28. The actuators may be configured to detect when the button28 moves and/or they may be configured to detect the presence of theuser's hand on the button 28. The actuators may also be capable ofsensing the amount of pressure being exerted on a button 28 by theuser's hand. The actuators may be switches, sensors and/or the like. Byway of example, the switches may correspond to tact switches, opticalswitches, and the like. In addition, the sensors may correspond tooptical sensors, resistive sensors, surface acoustic wave sensors,pressure sensors (e.g., strain gauge), capacitive sensors and the like.

The position of the buttons 28 relative to the mouse housing 22 may bewidely varied. For example, the buttons 28 may be positioned almostanywhere (e.g., top, side, front, or back) on the mouse housing 22 solong as they are accessible to a user during manipulation of the mouse20. Any number of buttons may be used. In most cases, the number ofbuttons correspond to the number of button functionalities offered bythe mouse. For handed mice, a single button is typically provided if asingle click is desired, and two buttons are provided if right and leftclicks are desired. In some cases, more than two buttons are provided ifa center click or scroll function is further desired. For ambidextrousmice, the mouse includes one or more buttons on opposing sides of themouse, as for example on both the front and back of the mouse (e.g., 180degrees opposite). This is done to ensure that both the left and righthands have a button(s). Like handed mice, each side of the ambidextrousmouse may include multiple buttons (e.g., right click, left click,center click, scroll, etc.). Furthermore, the buttons may be formed fromalmost any shape (e.g., squares, circles, ovals, triangles, rectangles,polygons, and the like). The shape of multiple buttons may haveidentical shapes or they may have different shapes. In addition, thesize of the buttons may vary according to the specific needs of eachdevice. In most cases, the size of the buttons corresponds to a sizethat allows them to be easily manipulated by a user (e.g., the size of afinger tip or larger).

In the illustrated embodiment, the mouse 20 is an ambidextrous mouse andtherefore it includes a separate button 28A and 28B on both the frontand back of the mouse. The ambidextrous mouse also includes a button 28Con the side of the mouse. The front button 28A may be actuated by aright handed user, the back button 28B may be actuated by a left handeduser and the side button 28C may be actuated by the thumb of both theleft and right hands. As should be appreciated, the mouse configurationshown in FIG. 1 allows for the same “feel” and the same “function”(e.g., left and right handed buttons as well as a thumb button) for boththe right handed and left handed users. That is, the mouse contourprovides the user with asymmetric comfort to both the left and righthanded users while the button configuration allows similar buttonfunctionality to both the left and right handed users. As mentionedabove, the “handedness” is switched by turning the mouse 180 degrees.

The manner in which the buttons 28 may be implemented can be widelyvaried. For example, they may be selected from button caps, wheels,unified button housings, touch sensitive button housings and/or thelike. Button caps or wheels typically work independent of and moverelative to the housing 22. For example, the button cap may pivot ortranslate relative to the top member 26 and the wheel may rotaterelative to the top member 26. In most cases, the movement of the buttoncap or wheel actuates one or more switches or sensors enclosed withinthe housing 22. For example, the button cap may actuate a tact switchlocated within the housing and the wheel may actuate an encoder locatedwithin the housing. The moving button cap or wheel may or may notproduce a mechanical clicking action. As should be appreciated, amechanical clicking action typically gives audible and tactile feedbackto the user when the user presses on the button. In cases where there isno mechanical clicking action, the mouse may include audible and tactilefeedback generators so that a user knows when the button has beenactuated.

Additionally or alternatively, the buttons 28 may be provided by aunified button/housing that incorporates the functionality of a button(or buttons) directly into the housing 22 of the mouse 20, i.e., thebutton functionality and a substantial portion of the housing arecombined (as opposed to attaching separate button caps or wheels to orthrough the housing). In a unified button housing, the housing 22includes a movable member so as to actuate one or more switches orsensors enclosed within the housing 22. For example, the top member 26may move relative to the bottom member 24 thus initiating the buttonfunction. The manner in which the top member 26 moves relative to thebottom member 24 may be widely varied. For example, the top member 26may pivot, translate or rotate relative to the bottom member 24. In aunified button housing, the areas of the housing 22 that move generallytake the form of button zones that represent regions of the mousehousing 22 that may be pressed on to implement one or more buttonfunctions. In essence, the housing 22 serves as a button (or buttons) ofthe mouse 20. Like the button cap and wheel, the unified button housingmay or may not produce a clicking action. By way of example, adescription of unified button housing such as that described in thisparagraph may be found in commonly owned U.S. Pat. No. 6,373,470 andpatent application Ser. No. 10/060,712, both of which are hereinincorporated by reference.

Additionally or alternatively, the buttons 28 may be provided by touchsensitive surfaces on the housing 22. In this implementation, theswitches and/or sensors of the button 28 produce working areas in theform of button zones that activate when a finger sits on, presses, orpasses over them. The sensors may be contained within the housing 22 orthey may be embedded in the housing 22 itself. Furthermore, the touchsensitive surfaces may be placed on stationary or moving parts of themouse 20. In the case of stationary, they may be placed on a mouse wherethe top member and bottom member are fixed to one another therebypreventing movements therebetween. In the case of moving, they may beplaced on a button cap that moves relative to the top member 26, or atop member 26 that moves relative to the bottom member 24 (e.g., unifiedbutton housing).

Although not shown in FIG. 1, the mouse 20 may further include ahandedness selection system for configuring the mouse for right handedor left handed use even though the mouse 20 has the capability for bothright and left hands. In one embodiment, the handedness selection systemis a user actuated system that allows a user to select which handconfiguration is desired (e.g., left or right). The user actuated systemmay be widely varied. For example, it may include a mechanism or switcharrangement that activates and deactivates the opposing buttons. In oneimplementation, the mechanism is a shuttle member that includes a tabthat physically prevents button movement (or actuation of thecorresponding indicator) on one side of the mouse 20 while allowingbutton movement on the other side of the mouse 20. In anotherimplementation, the switch is a mechanical, electrical or optical switchthat activates or deactivates the indicators associated with thebuttons, i.e., opens or closes the circuits associated with theactuators. In both implementations, the right handed button can beturned on and the left handed button off or the right handed button canbe turned off the left handed button turned on. As should beappreciated, this is generally done to prevent the palm of the hand fromactuating the opposing zone when positioned thereon during use In mostcases, the mouse 20 is set as a right handed mouse (e.g., factorydefault). The switch, however, allows the user to quickly and easilyreconfigure the mouse 20 for left handed use if needed. Alternatively,the handedness of the mouse 20 may be selected via software as forexample through a control panel located on a graphical user interface.

In another embodiment, the handedness selection system is a mouseactuated system that allows the mouse 20 (or system connected thereto)to automatically configure the mouse 20 for right handed or left handeduse based on how the user grabs the mouse 20 (e.g., position andpressure). If a left handed user grabs the mouse, then the mouseconfigures itself to be a left handed mouse during use. If a righthanded user grabs the mouse, then the mouse configures itself to be aright handed mouse. Like the user actuated system, the mouse actuatedsystem may be widely varied. For example, the system may include asensor arrangement arranged to detect the hand on the surface of themouse when a user grabs the mouse and thereafter make a determination asto whether the hand is left or the right hand based on what wasdetected. For example, if sensors detect the presence of fingers on area28A and a palm on area 28B then the mouse can determine that the mouseis being used by a right handed user. Once the determination is made,the mouse 20 can turn on the functionality of the buttons 28corresponding to the hand being used and turn off the functionality ofthe buttons corresponding to the hand not in use.

The sensor arrangement may also be configured to help make adetermination as to how the user is holding the mouse. As should beappreciated, each user holds the mouse in a different manner and thusthere may be discrepancies between how the user perceives the actuationof a button and how the mouse interprets the actuation of a button. Byway of example, the sensor arrangement may help determine that thefingers are positioned in a particular manner with a particular amountof pressure therefore the user is trying to initiate a particular typeof action (e.g., make a right click rather than a left click or viceversa). The sensor arrangement may also double as the actuator of abutton (e.g., touch sensitive button housing). By way of example, thesensor arrangement may include touch sensitive sensors such as resistivesensors, surface acoustic wave sensors, pressure sensors (e.g., straingauge), capacitive sensors and the like. An example of touch sensitivemice, which contain sensor arrangements, can be found in commonly ownedU.S. patent application Ser. No. 10/157,343, which is hereinincorporated by reference.

FIGS. 2A-2F are diagrams of a unibody ambidextrous mouse 50, inaccordance with one embodiment of the present invention. By way ofexample, the mouse 50 may correspond to the mouse 20 shown in FIG. 1.The term “unibody” herein refers to a mouse that integrates at least onebutton function directly into the mouse housing 52, i.e., unifiedbutton/housing. The term “ambidextrous” herein refers to a mouse that iscapable of being used by both a left and right hand 51, i.e., the mouseis not handed.

The unibody ambidextrous mouse 50 generally includes a mouse housing 52that contains the circuitry of the mouse 50 as well as defines the shapeor form of the mouse 50. With regards to the unibody design, the mousehousing 52 includes a base 54 and a movable button body 56. The base 54,which defines the lower portion of the mouse, provides a structure forsupporting the various components of the mouse as well as for makingmoving contact with a surface such as a desktop or mouse pad. By way ofexample, the base 54 may support a trackball mechanism or an opticalsensor so as to track the position of the mouse 50 as it is moved alongthe surface. The base may also support printed circuit boards (PCB),processors, transmitters, encoders, indicators, and the like.

The movable button body 56, which defines the upper portion of the mouse50, provides a structure for moving the mouse 50 along a surface, forgripping the mouse 50 for movement thereof and for implementing thebutton functions of the mouse 50. Since the mouse 50 is ambidextrous,the button body 56 is configured to receive either a right or left hand51R and 51L (e.g., ambidextrous). As shown in FIG. 2B, the lateral shapeof the button body 56 is asymmetric. This is generally done to provideergonomic comfort to the asymmetric hand 51 whether right or left. Withregards to the asymmetric lateral shape, the top side 58 of the body 56includes a slope that tapers from a high point 60 to a low point 62 thusenabling the hand 51 to curve over the body in a natural manner (SeeFIG. 2G). The top side 58 that defines slope may be widely varied. Forexample, it may be rectilinear, curvilinear or both. The top side 58 mayalso be substantially convex (protrudes outwardly), concave (protrudesinwardly) or flat. In FIG. 2B, the top side 58 has a convex shape. Thelateral sides 66 of the body 56 may be varied similarly to the top side58 of the body 56 although the lateral sides 66 are substantiallyvertical as compared to the horizontal top side 58. The lateral sides 66are generally configured to receive the thumb and the outermost fingeror fingers during use (See FIG. 2G). In some cases, at least the thumblateral side has a concave shape thus creating a thumb cove forreceiving the thumb during use of the mouse 50.

Unlike the lateral shape, the longitudinal shape of the button body 56as shown in FIGS. 2C and 2D is symmetric. This allows the mouse 50 to beused by either hand 51R or 51L (ambidextrous). With regards to thesymmetric longitudinal shape, the top side 58 of the body 56 is convexas shown in FIGS. 2C and 2D. That is, it equally slopes from a highpoint 68 to a low point 70 on both the front and back sides 72F and 72Bof the mouse 50 thus enabling the hand 51 to curve over the body 56 in anatural manner (See FIGS. 2E and 2F). The mouse 50 may be rotated aboutthe vertical axis by 180 degrees to change usage from right handed toleft handed or vice versa (See FIGS. 2E and 2F).

Because the mouse 50 is a unibody mouse, the button body 56 isconfigured to move relative to the base 54. The portions of the body 56that move generally take the form of button zones 75 that representregions of the body 56 that may be pressed on to implement one or morebutton functions. The movement of the body 56 relative to the base 54may be provided through one or more degrees of freedom (DOF). Thedegrees of freedom may be implemented through one or more rotations,pivots, translations, flexes relative to the base 54. By way of example,the button body 56 may be coupled to the base 54 via one or more pinjoints, slider joints, ball and socket joints, flexure joints and/or thelike. In addition, the mouse may include combinations such aspivot/translating joint, pivot/flexure joint, pivot/ball and socketjoint, translating/flexure joint, a flexure joint, a ball and socketjoint, and the like.

In the illustrated embodiment, the mouse 50 includes a pair of buttonzones 75 on both the front and back side 72F and 72B of the mouse 50.The button zones 75A and 75B on the front side 72F are used by righthanded users and the button zones 75C and 75D on the back side 72B areused for left handed users. As should be appreciated, the pair of buttonzones may provide a right and left click similar to that of conventionalmice. In order to provide this configuration of button zones 75, thebody 56 is configured to have four movements: front left tilt, frontright tilt, back left tilt, and back right tilt. In order to providethese movements, the body 56 is configured to pivot in two directionsrelative to a base 54. As shown by the arrows, the body 56 can pivotabout a first axis 80 and a second axis 82. The positions of the twoaxis 80, 82 may be widely varied so long as they allow the fourmovements described above. In the illustrated embodiment, the two axes80, 82 are orthogonal (or perpendicular) to one another and centrallylocated relative to the mouse 50. As such, the shape of the button zones75A-D are somewhat similar.

During right handed use, the body 56 is capable of moving between aninitial position (no pivot) and a left tilt position (pivot about bothaxis) when a force is applied to a left front portion 75B of the body 56and between an initial position and a right tilt position (pivot aboutboth axis) when a force is applied to a right front portion 75A of thebody 56. During left handed use, the body 56 is capable of movingbetween an initial position (no pivot) and a left tilt position (pivotabout both axis) when a force is applied to a left back portion 75C ofthe body 56 and between an initial position and a right tilt position(pivot about both axis) when a force is applied to a right back portion75D of the body 56. The force may be any downward force on the mouse 50,whether from a finger, palm or hand. The button body 56 may be springbiased so as to place the button body 56 in the initial position.

The button functions of the button zones 75A-D are implemented viaactuators located underneath the button zones 75A-D. The actuators maybe any combination of switches and sensors. Switches are generallyconfigured to provide pulsed or binary data such as activate (on) ordeactivate (off). The sensors, on the other hand, are generallyconfigured to provide continuous or analog data. In one implementation,when the user presses on the particular button zone 75 an undersideportion of the body 56 is configured to contact or engage (and thusactivate) a switch located underneath the particular button zone 75. Byway of example, the switch may correspond to a tact switch. In anotherimplementation, when a user presses on the button zone 75 one or moresensors are configured to monitor the pressure exerted by the finger(s)on the surface of the mouse 50 proximate the button zone 75 as well asthe position of the finger(s) on the surface of the mouse 50 proximatethe button zone 75. By way of example, the sensors may be capacitancesensors. These and other embodiments will be described in greater detailbelow.

In addition to buttons 75, the mouse 50 includes a wheel 86 configuredto generate a control function when rotated. In general, the wheel 86 isarranged to rotate around an axis 88 in order to implement the controlfunction. The position of the wheel 86 relative to the mouse housing 52may be widely varied. For example, the wheel 86 may be placed at anyexternal surface of the mouse housing 52 that is accessible to a userduring manipulation of the mouse 50 (e.g., top, side, front, or back).In the illustrated embodiment, the wheel 86 is positioned on the side66A of the body 56 in a location proximate the middle of the mouse 50(e.g., between the front and back 72F and 72B) so that it can receivethe thumb of either hand (e.g., left or right) when the hand 51 isplaced on the top side 58 of the mouse 50. When the thumb is received,the thumb may be used to rotate the wheel 86 in order to generate thecontrol function. As should be appreciated, this position allowsambidextrous use.

The wheel 86 may be widely varied. For example, the wheel 86 may beconfigured to rotate about a horizontal (e.g., X or Y) or vertical axis(e.g., Z). Furthermore, the wheel 86 may protrude outwardly from thehousing 52, be flush with the housing 52 or it may even be recessedwithin the housing 52. In the embodiment of FIG. 2, the wheel 86protrudes from housing 52 thus making it easily accessible to a user'sthumb. The wheel 86 also rotates about the Y axis so that the thumb canbe moved up and down along the side of the mouse in order to operate thescroll wheel (e.g., moving forwards to back in the case of the X and Zaxis is generally more difficult to manage with the thumb). The wheel 86may also include tactile features 90, which provide tangible surfacesthat help the user manipulate the wheel 86 (e.g., knurl). Although notshown, the wheel 86 may further include a clicking action that informthe user of its rotatable position during rotation thereof. Anotherexample of a wheel 86 which may be used can be found in commonly ownedpatent application Ser. No. 10/060,712, which is herein incorporated byreference.

The control function initiated by the wheel may be widely varied. Thecontrol function may be implemented incrementally or continuously duringrotation of the wheel 86. For example, the control function may be usedto control various applications associated with the computer system towhich the mouse is connected. The control function may correspond to ascrolling feature. The term “scrolling” as used herein generallypertains to moving displayed data or images (e.g., text or graphics)across a viewing area on a display screen so that a new set of data(e.g., line of text or graphics) is brought into view in the viewingarea. In most cases, once the viewing area is full, each new set of dataappears at the edge of the viewing area and all other sets of data moveover one position. That is, the new set of data appears for each set ofdata that moves out of the viewing area. In essence, the scrollingfunction allows a user to view consecutive sets of data currentlyoutside of the viewing area. The viewing area may be the entire viewingarea of the display screen or it may only be a portion of the displayscreen (e.g., a window frame).

The direction of scrolling may be widely varied. For example, scrollingmay be implemented vertically (up or down) or horizontally (left orright). In the case of vertical scrolling, when a user scrolls down,each new set of data appears at the bottom of the viewing area and allother sets of data move up one position. If the viewing area is full,the top set of data moves out of the viewing area. Similarly, when auser scrolls up, each new set of data appears at the top of the viewingarea and all other sets of data move down one position. If the viewingarea is full, the bottom set of data moves out of the viewing area. Thescrolling feature may also be used to move a Graphical User Interface(GUI) vertically (up and down), or horizontally (left and right) inorder to bring more data into view on a display screen. By way ofexample, the scrolling feature may be used to help perform internetbrowsing, spreadsheet manipulation, viewing code, computer aided design,and the like. The direction that the wheel 86 rotates may be arranged tocontrol the direction of scrolling. For example, the wheel 86 may bearranged to move the GUI vertically up when rotated counterclockwise,and vertically down when the rotated clockwise (or vice versa).

FIGS. 3A-3D are diagrams of a unibody mouse 100, in accordance with oneembodiment of the present invention. By way of example the mouse maycorrespond to any of the mice previously described. The mouse generallyincludes a base 102 and a button body 104. The button body 104 ispivotally coupled to the base 102 about an axis 106. As such, the buttonbody 104 may pivot forwards in order to actuate a first button zone orbackwards to actuate a second button zone. When pivoted forward, a frontportion 108 of the button body 104 engages a first switch 110A locatedwithin the space 112 defined by the base 102 and the button body 104.When pivoted backwards, a back portion 114 of the button body 104engages a second switch 110B located within the space 112 defined by thebase 102 and button body 104. More particularly, nubs 116 of the buttonbody 104 contacts an actuator 118 that protrudes from the switches 110.When the actuator 118 is pushed down, the switch 110 is configured togenerate a control signal. The first switch 110A generates a firstcontrol signal associated with the first button zone and the secondswitch 110B generates a second button signal associated with the secondbutton zone. Both switches 110 are typically attached to the base 102.

The mouse 100 further includes a button zone selection mechanism 120 forconfiguring the button zones of the mouse 100. The mechanism 120 allowsthe user to activate and/or deactivate the button zones of the mouse100. This particular feature is advantageous in ambidextrous mice whereit would be beneficial to turn off right handed button zones when usingthe mouse as a left handed mouse and to turn off left handed buttonzones when using the mouse as a right handed button. In the illustratedembodiment, the mechanism 120 is configured to activate one of thebutton zones while deactivating the other button zone. The mechanismgenerally includes a shuttle plate 122 that translates relative to thebase 102 or button body 104. In FIG. 3, the shuttle plate 122 isslidably coupled to the base 102. The shuttle plate 122 includes a firstcantilever 124A and a second cantilever 124B, which are disposed atopposing ends of the shuttle plate 122. The shuttle plate 122additionally includes first and second abutment stops 126A and 126Bdisposed at opposing ends of the shuttle plate 122. As shown, thecantilevers 124 are spatially separated from the abutment stops 126thereby forming voids therebetween.

The cantilevers 124 and abutment stops 126 are configured to slidebetween the switches 110 and the nubs 116 on each side of the mouse 100.In order to turn off a button zone, the abutment stop 126 is slidbetween the housing of the switch 110 and the nub 116. The abutment stop126 therefore prevents the nub 116 from contacting the actuator 118 whenthe corresponding button zone is selected. That is, the abutment stop126 stops the motion of the nub 116 before it reaches the actuator 118.Because the actuator 118 cannot be contacted, no control signals can begenerated and thus the button zone is deactivated. In order to activatea button zone, the cantilever 124 is slid between the nub 116 and theactuator 118. The cantilever 124 is an intermediate member that iscapable of transmitting motion from the nub 116 to the actuator 118 ofthe switch 110. Because the actuator 118 may be actuated via thenub/cantilever 116/124, control signals can be generated and thus thebutton zone is activated.

To elaborate further, the shuttle plate 122 is connected to a supportarm 128 and the support arm 128 is connected to a user actuated switch130. The switch 130 is configured to move between a first position and asecond position and the support arm 128 is configured to transmit themotion of the switch 130 to the shuttle plate 122. The switch 130 cantherefore be used to slide the shuttle plate 122 to its variouslocations within the mouse 100 in order to activate and deactivate thebutton zones. In the illustrated embodiment, the switch 130 is capableof moving the shuttle plate 122 relative to both switches 110 and bothnubs 116 so that the shuttle plate 122 turns off one of the button zoneswhile turning on the other button zone. That is, the user simply movesthe switch 130 to a the first position in order to activate the firstbutton zone and deactivate the second button zone, and to the secondposition in order to activate the second button zone and deactivate thefirst button zone. For example, when the switch 130 is moved to thefirst position, the support arm 128 causes the shuttle plate 122 totranslate towards the front of the mouse 100 thereby placing theabutment stop 126A between the nub 116A and the housing of switch 110Aand the cantilever 124B between the actuator 118B and the nub 116B.Furthermore, when the switch 130 is moved to the second position, thesupport arm 128 causes the shuttle plate 122 to translate towards theback of the mouse 100 thereby placing the abutment stop 126B between thenub 116B and the housing of switch 110B and the cantilever 124A betweenthe actuator 118A and the nub 116A.

The mechanism may be widely varied. For example, the components may beintegrally formed as a unit or they may be separate components that worktogether (e.g., linkage). Furthermore, the components may besubstantially free moving or they may be movably restrained. Forexample, the shuttle plate 122 may move within a guide formed by thebase or body. Moreover, the switch 130 may be configured to translate,or rotate in order to move the shuttle plate. In the illustratedembodiment, the switch 130 translates within a recess 132 formed in thebottom side of the base 102. The recess 132 is generally longer than theswitch 130 so that the switch 130 can be slid therein. In most cases,the switch 130 is recessed within the bottom side of the base 102 sothat the switch 130 won't protrude therefrom. As should be appreciated,the bottom side of the base 102 is generally moved along a surface andtherefore any protrusions would impede its motion or cause unwantedswitches. In some cases, the switch 130 may include tactile surfacessuch as a knurled surface.

FIG. 4 is top view of a unibody mouse 140, in accordance with analternate embodiment of the present invention. Unlike the unibody mouseof FIG. 3 that includes two button zones, the unibody mouse of FIG. 4includes four button zones. In this embodiment, the button body 104 isconfigured to pivot about two axis 106 and 107 in order to cause a fronttilt right, front tilt left, back tilt right and back tilt left. Eachtilt causes the body 104 to contact one of four switches 110A-D in amanner similar to that described above. In this embodiment, the shuttleplate 142 includes an abutment stop 144 and a pair of cantilevers 146 oneach side. Each of the cantilevers 146 corresponds to a different switch110 while the abutment stops 144 each correspond to the switches 110 oneach side of the mouse 100. As such, when the shuttle plate 142translates towards the front of the mouse 140 the abutment stop 144B isplaced between the nub (not shown) and the housing of switches 110C and110D thereby deactivating the button zones in the back of the mouse 140,and the pair of cantilevers 146A and 146B are placed between the nub andactuator 118 of switches 110A and 110B thereby activating the buttonzones in the front of the mouse 140. Furthermore, when the shuttle plate142 translates towards the back of the mouse 140 the abutment stop 144Ais placed between the nub and housing of switches 110A and 110B therebydeactivating the button zones in the front of the mouse, and the pair ofcantilevers 146C and 146D are placed between the nub and the actuator118 and of switches 110C and 110D thereby activating the button zones inthe back of the mouse 140.

FIG. 5 is a block diagram of a computing system 150, in accordance withone embodiment of the present invention. The system 150 includes a mouse152 and a computer 154, including but not limited to, a desktopcomputer, lap top computer, hand held computer, and the like. By way ofexample, the computer 154 may correspond to any Apple or PC basedcomputer. The computer 154 generally includes a processor 156 configuredto execute instructions and to carry out operations associated with thecomputer system 150. For example, using instructions retrieved forexample from memory, the processor 156 may control the reception andmanipulation of input and output data between components of thecomputing system 150. The processor 156 can be a single-chip processoror can be implemented with multiple components.

In most cases, the processor 156 together with an operating systemoperates to execute computer code and produce and use data. The computercode and data may reside within a program storage 158 block that isoperatively coupled to the processor 156. Program storage block 158generally provides a place to hold data that is being used by thecomputer system 150. By way of example, the program storage block 158may include Read-Only Memory (ROM), Random-Access Memory (RAM), harddisk drive and/or the like. The computer code and data could also resideon a removable program medium and loaded or installed onto the computersystem when needed. Removable program mediums include, for example,CD-ROM, PC-CARD, floppy disk, magnetic tape, and a network component.

The computer 154 also includes an input/output (I/O) controller 160 thatis operatively coupled to the processor 156. The (I/O) controller 160may be integrated with the processor 156 or it may be a separatecomponent as shown. The I/O controller 160 is generally configured tocontrol interactions with one or more I/O devices (e.g., mouse 152) thatcan be coupled to the computer 154. The I/O controller 160 generallyoperates by exchanging data between the computer 154 and the I/O devicesthat desire to communicate with the computer 154. The I/O devices andthe computer 154 typically communicate through a data link 162. The datalink 162 may be a one way link or two way link. In some cases, the I/Odevices may be connected to the I/O controller 160 through wiredconnections. In other cases, the I/O devices may be connected to the I/Ocontroller 160 through wireless connections. By way of example, the datalink 162 may correspond to PS/2, USB, IR, RF, Bluetooth or the like.

The computer 154 also includes a display controller 164 that isoperatively coupled to the processor 156. The display controller 164 maybe integrated with the processor 156 or it may be a separate componentas shown. The display controller 164 is configured to process displaycommands to produce text and graphics on a display device 166. Thedisplay device 166 may be integral with the computer or it may be aseparate component of the computer 154. By way of example, the displaydevice may be a monochrome display, color graphics adapter (CGA)display, enhanced graphics adapter (EGA) display,variable-graphics-array (VGA) display, super VGA display, liquid crystaldisplay (e.g., active matrix, passive matrix and the like), cathode raytube (CRT), plasma displays and the like.

The mouse 152, on the other hand, generally includes a position sensingdevice 170 and a touch sensing device 172, both of which are operativelycoupled to a microcontroller 174. The position sensing device 170 isconfigured to generate tracking signals when the mouse 152 is movedalong a surface. The tracking signals may be used to control themovement of a pointer or cursor on the display screen 166. The trackingsignals may be associated with a Cartesian coordinate system (x and y)or a Polar coordinate system (r, θ). By way of example, the positionsensing device 170 may correspond to a conventional trackball or opticalassembly.

The touch sensing device 172 is configured to generate hand signals whenthe hand is positioned over or on the mouse 152. The hand signals may beused to initiate button functions or to make a determination as to whichuser is using the mouse 152. By way of example, the button functions mayinclude moving an object on the display screen, selecting an item on thedisplay screen, opening a file or document, launching a program,executing instructions, viewing a menu on the display screen, and/or thelike. The button functions may also include functions associated withkeyboard related actions such as enter, delete, insert, page up/down,and the like. The button functions may further include gesturing. Withregards to the determination, the user may correspond to the identity ofthe user (e.g., Bob or Carol) or to a type of user (e.g., left or righthanded user). These and other embodiments will be described in greaterdetail below.

The touch sensing device 172 generally includes one or more sensors fordetecting the proximity of the finger thereto and/or the pressureexerted thereon. By way of example, the sensors may be based onresistive sensing, surface acoustic wave sensing, pressure sensing(e.g., strain gauge), optical sensing, capacitive sensing and the like.Depending on the type of sensor used, the hand signals may be in theform of position signals as for example when the sensors are set up in agrid or pixilated format. In one particular embodiment, the touchsensing device uses capacitance sensors. As should be appreciated,whenever two electrically conductive members come close to one anotherwithout actually touching, their electric fields interact to formcapacitance. In one configuration, the first electrically conductivemember is one or more electrodes or wires and the second electricallyconductive member is the finger of the user. Accordingly, as the fingerapproaches the surface of the mouse, a tiny capacitance forms betweenthe finger and the electrodes/wires in close proximity to the finger.The capacitance in each of the electrodes/wires is measured by themicrocontroller 174. By detecting changes in capacitance at each of theelectrodes/wires, the microcontroller 174 can determine the user typeand button selections when the finger or palm is placed on the mouse152.

The microcontroller 174 is configured to acquire the data from thesensing devices 170 and 172 and to supply the acquired data to theprocessor 156 of the computer 154. In one embodiment, themicrocontroller 174 is configured to send raw data to the processor 156so that the processor 156 processes the raw data. For example, theprocessor 156 receives data from the microcontroller 174 and thendetermines how the data is to be used within the computer system 150. Inanother embodiment, the microcontroller 174 is configured to process theraw data itself. That is, the microcontroller 174 reads the pulses fromthe sensors of the sensing devices 170 and 172 and turns them into datathat the computer 154 can understand. By way of example, themicrocontroller 174 may place the data in a HID format (Human InterfaceDevice). The microcontroller 174 may also convert the acquired signalsinto other forms of signals before sending them to the processor 156.For example, the microcontroller 174 may convert hand signals intobutton signals. With regards to button signals, the microcontroller 174may set the distribution of button zones. The button zones generallyrepresent a more logical range of user inputs than the sensorsthemselves. The microcontroller 174 may also be used to perform usertype recognition, i.e., recognizes if the mouse is being used as a rightor left hand by distinguishing fingers and palm of hand. Themicrocontroller 174 typically includes an application specificintegrated circuit (ASIC) that is configured to monitor the signals fromthe sensing devices 170 and 172, to process the monitored signals and toreport this information to the processor (e.g., x, y, button, left,right, etc.). By way of example, this may be implemented throughFirmware.

In one embodiment, program storage block 158 is configured to store amouse program for controlling information from the mouse 152.Alternatively or additionally, a mouse program or some variation thereofmay be stored in the mouse 152 itself (e.g., Firmware). The mouseprogram may contain hand profiles associated with hand actions. The handprofiles generally describe how the mouse 152 is held while the handactions describe what type of action to perform based on the handprofile. In one implementation, the hand profiles may be accessed by auser through a hand menu, which may be viewed on the display device aspart of a GUI interface. The hand menu may include hand settingspertaining to the hand profiles and hand actions. In fact, the hand menumay serve as a control panel for reviewing and/or customizing the handsettings, i.e., the user may quickly and conveniently review the handsettings and make changes thereto. Once changed, the modified handsettings will be automatically saved and thereby employed to handlefuture mouse processing. The hand menu may also be used as part of atraining sequence for training the mouse 152 to a particular user type.

FIG. 6 is a perspective diagram of a touch sensitive mouse 180, inaccordance with one embodiment of the present invention. The touchsensitive mouse 180 includes a touch sensitive surface 182 that sensessurface contact so that the mouse 180 (or host) knows where and when thefingers and palm are touching the mouse 180 and how much pressure thereis at each point. The touch sensitive surface 182 is generally providedby the mouse housing 184 and a sensor arrangement 186. The sensorarrangement 186 may be integrally formed into the wall of the mousehousing 184 or they may be located behind the wall within the enclosedspace defined by the mouse housing 184 (e.g., adjacent the interiorwall). The sensor arrangement 186 is configured to detect the presenceof an object such as a finger or palm of the hand as for example whenthe hand grasps the mouse housing 184. The sensor arrangement 186 mayalso detect the pressure being exerted on the mouse by the finger orpalm of the hand. By way of example, the sensor arrangement 186 may bebased on resistive sensing, surface acoustic wave sensing, pressuresensing (e.g., strain gauge, pressure plates, piezoelectric transducersor the like), heat sensing, optical sensing, capacitive sensing and/orthe like.

As shown, the sensor arrangement 186 is divided into several independentand spatially distinct sensing points (or regions) 188 that arepositioned around the periphery of the mouse 180. The sensing points 188are generally dispersed about the mouse 180 with each sensing point 188representing a different position on the surface of the mouse 180. Thesensing points 188 may be positioned in a grid or a pixel array whereeach pixilated sensing point 188 is capable of generating a signal. Thenumber and configuration of the sensing points 188 may be widely varied.The number and configuration of sensing points 188 generally depends onthe desired resolution of the touch sensitive surface 182. In thesimplest case, a signal is produced each time the finger is positionedover a sensing point 188. When an object is placed over multiple sensingpoints 188 or when the object is moved between or over multiple sensingpoints 188, multiple position signals are generated. In most cases, thesignals are monitored by a control system (not shown) that converts thenumber, combination and frequency of the signals into controlinformation. As should be appreciated, the number, combination andfrequency of signals in a given time frame may indicate size, location,direction, speed, acceleration and the pressure of the finger or palm onthe mouse 180. By way of example, the control system may be amicrocontroller located on the mouse and/or a processor of a host devicesuch as a computer.

In the illustrated embodiment, the sensing points 188 are based oncapacitance. As should be appreciated, whenever two electricallyconductive objects come near one another without touching, theirelectric fields interact to form capacitance. By detecting when thecapacitance changes (e.g., increase, decreases) the mouse's electronicscan determine when and where the finger and palm of the hand aretouching. Any conventional form of capacitance sensing may be used,including but not limited to capacitive sensing methods as found intouch pads, key boards, and the like. The simplicity of capacitanceallows for a great deal of flexibility in design and construction of thesensor arrangement (e.g., mutual capacitance sensing, capacitance toground sensing, etc.).

In the illustrated embodiment, the sensor arrangement 186 includes a twolayer grid of spatially separated electrodes or wires 190 and 192 thatare connected to a microcontroller (not shown). The upper layer includeselectrodes 190 in rows while the lower layer includes electrodes 192 incolumns (e.g., orthogonal). As should be appreciated, when a portion ofa hand nears the intersection of two electrodes 190 and 192, thecapacitance at the electrodes 190 and 192 changes since the hand hasvery different dielectric properties than air. These changes can be usedto determine the positions of the finger and/or palm when they grab themouse 180. In some cases, the amount of capacitance to each of theelectrodes 190 and 192 can be measured by the microcontroller when aportion of a hand nears the intersection of two electrodes 190 and 192(e.g., sensing point). In other cases, capacitance from each of the rowelectrodes 190 to each of the column electrodes 192 can be measured bythe microcontroller when a portion of a hand nears the intersection oftwo electrodes 190 and 192 (e.g., sensing point).

The signals generated at the sensing points 188 may be used to determinehow the user is holding the mouse 180. By way of example and referringto FIGS. 7A and 7B, each portion of the hand in contact with the mouseproduces a contact patch area 196. Each of the contact patch areas 196covers several sensing points 188 thus generating several positionsignals. The position signals may be grouped together to form a handsignal that represents how the user is holding the mouse 180. Inessence, the hand signal is a pixilated image of the hand in contactwith the mouse 180. A first hand signal may be compared to a second handsignal to determine button selection or user type. For example, the handsignal generated in FIG. 7A may be compared to the hand signal generatedin FIG. 7B. The first hand signal generally corresponds to the mostcurrent hand signal while the second hand signal generally correspondsto a previous hand signal. The previous hand signal may be an in usehand signal or a baseline hand signal that was preset or trained beforeuse. In most cases, the in use hand signal is the last hand signalbefore the current hand signal.

In one embodiment, the difference between a current hand signal (FIG.7A) and a last hand signal (FIG. 7B) may indicate the user's desire toimplement a button function. As should be appreciated, when a userpresses on the surface of the mouse the area of some of the contactpatch areas 196 increases thereby activating more sensing points 188than previously activated. A significant difference indicates the user'sdesire to implement a button function. Changes between contact patchareas may further indicate the particular button function.

In relative mapping, the difference at each particular contact patcharea 196 is compared relative to the other particular contact patchareas 196. For example, if the contact patch area for the right fingergrows more significantly than the contact patch area for the left fingerbetween first and second signals then the particular button function maybe a right click. Furthermore, if the contact patch area for the leftfinger grows more significantly than the contact patch area for theright finger between first and second signals then the particular buttonfunction may be a left click.

In absolute mapping, the mouse 180 includes one or more button zonesthat represent regions of the mouse 180 that when selected implement theparticular button function associated with the button zone (e.g., rightclick, left click). The button zone having the contact patch area 196with the most significant change between first and second hand signalsis the one that is typically implemented. The user may customize themouse 180 by setting the configuration of button zones before use. Forexample, the mouse 180 may be configured as a one button mouse, twobutton mouse, three button mouse or the like. The mouse 180 may also beconfigured with scrolling zones. The position and size of the buttonzones may also be customizable. For example, the mouse 180 may beconfigured with button zones on only the front or back of the mouse(e.g., left hand or right hand button) or on the side of the mouse(e.g., thumb button). The customization may be performed by the userand/or the mouse 180.

In another embodiment, the similarity between a baseline hand signal anda current hand signal may indicate the user's desire to implement acontrol function (e.g., gesturing). For example, if the baseline handsignal corresponds to a right click and the current hand signal issimilar to the baseline hand signal then the mouse can implement a rightclick. The user may customize the mouse by setting the baseline handsignal before use (e.g., calibration).

In another embodiment, the similarity between a baseline hand signal anda current hand signal may also indicate the user type (e.g., handednessof the user or the identity of the user). For example, if the baselinehand signal corresponds to a left hand user and the current hand signalis similar to the baseline hand signal then the mouse knows that theuser is left handed. The user may customize the mouse by setting thebaseline hand signal before use (e.g., calibration).

FIG. 8 is a perspective diagram of a mouse 200, in accordance with oneembodiment of the present invention. As shown, the mouse 200 includes abody 202 that moves relative to base 204. In particular, the body 202 iscapable of pivoting about a pair or axes 206 and 208. The pivotingnature allows for a plurality of tilting actions, i.e., a front righttilt, a front left tilt, a back right tilt and a back left tilt. Themouse 200 also includes a pair of capacitance sensing devices 210located at the front and back of the mouse 200. The capacitance sensingdevices 210 are configured to monitor a user's touch. Each of thecapacitance sensing devices includes a plurality of electrodes 212 thatgenerate signals when the hand nears the body 202.

The signals generated from the electrodes 212 may be used by the mouseto perform button functions as well as to determine the user type. Forexample, the electrodes 212 may generate a first group of signals for aright handed user and a second set of signals for a left handed user. Asshould be appreciated, right handed users typically place their fingerson the front and their palm on the back of the mouse while left handedusers typically place their fingers on the back and the palm on thefront of the mouse. Furthermore, the electrodes 212 may generate adifferent group of signals for each tilting action. These signals may beprocessed by the mouse system to determine what button function toimplement for the tilting action. For example, when the mouse 200 istilted to the front right, the signals may be used to generate a rightclick for a right handed user and when the mouse 200 is tilted to thefront left, the signals may be used to generate a left click for a righthanded user. Furthermore, when the mouse 200 is tilted to the backright, the signals may be used to generate a right click for a lefthanded user and when the mouse 200 is tilted to the back left, thesignals may be used to generate a left click for a left handed user.

Because the mouse 200 does not produce a click for each tilt, it mayinclude a tactile click generator electrically controlled for exampleusing a solenoid actuator on the inside of the mouse housing. When themouse (e.g., firmware) decides a click has been made, the plunger of thesolenoid actuator taps a rib inside the mouse housing which providestactile and audible feedback to the user (e.g., simulates a clickingaction). A buzzer may also be used to give audio feedback.

It should be noted that a dual pivoting body is not a limitation. Insome cases, the body may be configured to pivot about a single axis,i.e., pivoting about axis 206 is eliminated. In other cases, othermovements other than pivoting may be implemented. Furthermore, the bodymay be configured to not move at all.

FIG. 9 is a mouse operational method 220 in accordance with oneembodiment of the present invention. By way of example the method 220may be performed using the system shown in FIG. 5. The method 220generally begins at block 222 where the mouse is in standby. Standbygenerally implies that the mouse is in a state of readiness waiting forsomething to happen, i.e., a user initiating an action therewith.Following block 222, the process flow proceeds to block 224 where adetermination is made as to whether the user is touching the mouse. Thisis generally accomplished with touch sensing device capable ofgenerating signals when a hand nears the mouse and a control systemconfigured to monitor the activity of the touch sensing device. If it isdetermined that the user is not touching the mouse, then the processflow proceeds back to block 222 thereby keeping the mouse in standby. Ifit is determined that the user is touching the mouse, then the processflow proceeds to block 226 where the user is determined.

In one embodiment, block 226 includes determining the handedness of theuser. In another embodiment, block 226 includes determining the actualuser (e.g., Bob or Carol). The determination may be performedautomatically or it may be selective, i.e., user initiated. Once theuser is determined, the process flow proceeds to block 228 where themouse is configured based on the user. In one embodiment, the motionaxes of the mouse are configured based on the handedness of the user. Inanother embodiment, the button zones of the mouse are configured basedon the handedness of the user. In other embodiments, the motion axes aswell as the button zones are configured based on the actual user (e.g.,Bob or Carol). The button zones may be based on relative mapping orabsolute mapping.

Following block 228 the process flow proceeds to simultaneouslyoccurring blocks 230 and 232. In block 230, the movement of the mouse ismonitored. This may be accomplished with a position sensing device suchas a track ball or optical sensor. In block 232, the hand action of theuser is monitored. This may be accomplished by a touch sensing devicethat senses user touch and generates hand signals based on the user'stouch. Following block 230, the process flow proceeds to block 234 whereposition signals are generated based on the mouse movement. For example,in the case of a Cartesian coordinate based system the position sensingdevice may generate X, Y signals. Following block 232, the process flowproceeds to block 236 where button signals are generated based on thehand action. For example a first hand signal may be compared to a secondhand signal and differences or similarities therebetween can be used todetermine what button signal to generate. After blocks 234 and 236, theposition and button signals may be used to perform actions in a hostsystem. For example, the position signals may be used to move a cursorand the button signals may be used to make selections in a graphicaluser interface.

FIG. 10 is a handedness determination method 240, in accordance with oneembodiment of the present invention. By way of example, the method maybe included in block 226 of FIG. 9. The method generally begins at block242 where a current hand signal is generated. The hand signal istypically generated by a touch sensing device of the mouse. Followingblock 242 the process flow proceeds to block 244 where the current handsignal is compared to baseline left and/or right hand signals. This istypically accomplished by the mouse microcontroller (174), but it mayalso be processed by the host system (154) as well. Following block 244the process flow proceeds to block 246 where a determination is made aswhether the current hand signal is similar to the baseline left handsignal. Similar to the previous block, this may be accomplished by themouse microcontroller (174) or the host system (154). If the currenthand signal is similar, then the process flow proceeds to block 248where the mouse is configured for left hand use. That is, the motionaxes and button zones are set for the left handed user. If the currenthand signal is not similar to the left hand profile, then the processflow proceeds to block 250 where a determination is made as to whetherthe current hand signal is similar to a baseline right hand signal. Ifthe current hand signal is similar then the process flow proceeds toblock 252 where the mouse is configured for right hand use. If thecurrent hand signal is not similar to the right hand profile then theprocess flow proceeds back to block 242 or in some cases oneconfiguration may be chosen as a default (e.g., right hand may be thedefault).

FIG. 11 is an actual user determination method 260, in accordance withone embodiment of the present invention. By way of example, the methodmay be included in block 226 of FIG. 9. The method is generallyperformed in multiple steps including a calibration step 262 and an inuse step 264. The calibration step 262 is performed before the use step264. The calibration step is generally performed once while the use stepis continuously used during mouse use. The calibration step 262generally begins at block 266 where baseline hand signals are generatedfor each user. Following block 266 the process flow proceeds to block268 where the user settings (e.g., motion axis, button zones) for thebaseline hand signal are configured. Following block 268, the processflow proceeds to block 270 where the baseline hand signal and usersettings are stored in a user profile database.

The use step 264 generally begins at block 272 where a current handsignal is generated. Following block 272, the process flow proceeds toblock 274 where the current hand signal is compared to the baseline handsignals stored in the user profile database. Following block 274, theprocess flow proceeds to block 276 where the baseline hand signal mostsimilar to the current hand signal is selected. If there is no signalsimilar to the current signal then the user may be prompted to gothrough the calibration step 262. Following block 276, the process flowproceeds to block 268 where the mouse is configured according to theuser settings associated with the selected baseline hand signal.

FIG. 12 is an absolute mapping method 280, in accordance with oneembodiment of the present invention. By way of example, the method 280may be included in block 232 of FIG. 9. The method 280 generally beginsat block 282 where one or more button zones are provided. Button zonesare area of the mouse that may be actuated by a user to implement anaction. The button zones may be based on a training sequence, selectedfrom a menu, or they may be preset. Following block 282 the process flowproceeds to block 284 where a hand signal is generated. Following block284, the process flow proceeds to block 286 where a determination ismade as to which button zone was selected based on the hand signal. Forexample, position coordinates generated by touch may correspond to aparticular button zone. Following block 286, the process flow proceedsto block 288 where a button signal is generated based on the selectedbutton zone.

FIG. 13 is a relative mapping method 290, in accordance with oneembodiment of the present invention. By way of example, the method maybe included in block 232 of FIG. 9. The method 290 generally begins atblock 292 where a first hand signal is generated. Following block 292,the process flow proceeds to block 294 where a second hand signal isgenerated. In this embodiment, the first hand signal generallycorresponds to a hand signal generated before the second hand signal.For example, the first hand signal may be the last hand signal while thesecond hand signal may be the current hand signal. Following block 294,the process flow proceeds to block 296 where the difference between thecurrent hand signal and the baseline hand signal is determined. If thedifference is within a threshold value, then the process flow proceedsback to block 294. This serves as a filter element or noise reduction.As should be appreciated, the user tends to continuously adjust handposition during use even if they are not making a selection (e.g.,noise). If the difference is outside a threshold value then the processflow proceeds to block 298 where a button signal is generated based onthe difference between the first hand signal and the second hand signal.

FIG. 14 is a mouse operational method 300, in accordance with oneembodiment of the present invention. By way of example the method 300may be performed using the system shown in FIG. 5. The method 300generally begins at block 302 where the mouse is in standby. Followingblock 302, the process flow proceeds to block 304 where a determinationis made as to whether the user is touching the mouse. If it isdetermined that the user is not touching the mouse, then the processflow proceeds back to block 302 thereby keeping the mouse in standby. Ifit is determined that the user is touching the mouse, then the processflow proceeds to block 306 where the handedness of user is determined.By way of example, this may be accomplished using the method describedin FIG. 10.

Following block 306, the process flow proceeds to block 308 where themotion axes are configured based on the handedness determined in block306. Motion axes generally refer to which portion of the mouse will beused for button selection as well as which direction of mouse motion ispositive X motion and which direction of mouse motion is positive Ymotion. The direction of the motion axes are important if the mouse isrotated 180 degrees between left and right handed users as in the mouseconfiguration shown in FIG. 2.

Thereafter, the process flow proceeds along two routes. The first routeproceeds with block 310 where position signals are generated based onmouse movement. Thereafter in block 312, a position signal is sent to ahost based on the mouse movement and the motion axis set in block 308.The second route proceeds with a relative mapping sequence includingblocks 314-320. In block 314, a previous hand image is formed based onuser touch. Following block 314, the process flow proceeds to block 316where a current hand image is formed based on user touch. Thereafter, inblock 318 a difference between the current hand image and the previoushand image is determined. Following block 318, the process flow proceedsto block 320 where a determination is made as to whether a click (e.g.,button selection) was made by the user based on the difference. If aclick or button selection was not made, then the process flow proceedsback to block 314. If a click of button selection was made then theprocess flow proceeds to block 322 where a button signal associated withthe button selection is sent to the host.

The methods described above can be used alone or in variouscombinations. The methods may be implemented singularly or by acombination of hardware, software, and/or firmware. The methods can alsobe embodied as computer readable code on a computer readable medium. Thecomputer readable medium is any data storage device that can store data,which can thereafter be read by a computer system. The computer readablemedium can also be distributed over a network coupled computer systemsso that the computer readable code is stored and executed in adistributed fashion.

While this invention has been described in terms of several preferredembodiments, there are alterations, permutations, and equivalents, whichfall within the scope of this invention. It should also be noted thatthere are many alternative ways of implementing the methods andapparatuses of the present invention. It is therefore intended that thefollowing appended claims be interpreted as including all suchalterations, permutations, and equivalents as fall within the truespirit and scope of the present invention.

What is claimed is:
 1. A user input device, comprising: a touchsensitive surface divided into an array of buttonless sensing points,each buttonless sensing point being configured to generate a signal whenthe buttonless sensing point detects that an object is in proximity tothe buttonless sensing point, the signal including informationidentifying a location of the buttonless sensing point, wherein signalsfrom one or more buttonless sensing points of the array of buttonlesssensing points can be combined to form a buttonless object signal thatdefines a two-dimensional image of an object in proximity to the touchsensitive surface; and a processor configured to: receive the buttonlessobject signal; determine from the buttonless object signal a selectedzone amongst one or more zones of the touch sensitive surface, whereineach of the one or more zones is associated with a plurality ofbuttonless sensing points and is associated with a function; andgenerate a function signal based on a function associated with theselected zone.
 2. The user input device of claim 1, wherein detectingthat an object is in proximity to the buttonless sensing point comprisesdetecting that the object is in contact with the buttonless sensingpoint.
 3. The user input device of claim 2, wherein detecting that theobject is in contact with the buttonless sensing point comprisesdetecting a pressure exerted on the touch sensitive surface by theobject.
 4. The user input device of claim 1, wherein the user inputdevice comprises a unibody housing and the touch sensitive surface is asurface of the unibody housing.
 5. The user input device of claim 1,wherein the buttonless object signal is associated with a gesture. 6.The user input device of claim 1, wherein detecting that an object is inproximity to the buttonless sensing point comprises detecting that theobject is positioned over the user input device.
 7. A method ofoperating a user input device having a touch sensitive surface dividedinto an array of buttonless sensing points, the method comprising:detecting that an object is in proximity to a buttonless sensing pointof the array of buttonless sensing points; generating a signal inresponse to the detecting, the signal including information identifyinga location of the buttonless sensing point; combining signals from oneor more buttonless sensing points of the array of buttonless sensingpoints to form a buttonless object signal that defines a two-dimensionalimage of an object in proximity to the touch sensitive surface;determining from the buttonless object signal a selected zone amongstone or more zones of the touch sensitive surface, wherein each of theone or more zones is associated with a plurality of buttonless sensingpoints and is associated with a function; and generating a functionsignal based on a function associated with the selected zone.
 8. Themethod of claim 7, wherein detecting that an object is in proximity to abuttonless sensing point comprises detecting that the object is incontact with the buttonless sensing point.
 9. The method of claim 8,wherein detecting that the object is in contact with the buttonlesssensing point comprises detecting a pressure exerted on the touchsensitive surface by the object.
 10. The method of claim 7, wherein theuser input device comprises a unibody housing and the touch sensitivesurface is a surface of the unibody housing.
 11. The method of claim 7,wherein the buttonless object signal is associated with a gesture. 12.The method of claim 7, wherein detecting that an object is in proximityto the buttonless sensing point comprises detecting that the object ispositioned over the user input device.
 13. A user input device,comprising: a touch sensitive surface divided into an array ofbuttonless sensing points, each buttonless sensing point configured togenerate a signal upon a detection that an object is in proximity to thebuttonless sensing point, the signal including information identifying alocation associated with the respective buttonless sensing point; and aprocessor configured to: combine signals from one or more buttonlesssensing points of the array of buttonless sensing points to form abuttonless object signal that defines a two-dimensional image of anobject in proximity to the touch sensitive surface at a surfacelocation, the two-dimensional image indicating a buttonless sensingpoint associated with the surface location; determine from thebuttonless object signal a zone, of a plurality of zones, associatedwith the buttonless sensing point; and generate a function signal basedon a function associated with the determined zone.
 14. The user inputdevice of claim 13, wherein the detection that an object is in proximityto the buttonless sensing point comprises a detection that the object isin contact with the buttonless sensing point.
 15. The user input deviceof claim 14, wherein the detection that the object is in contact withthe buttonless sensing point comprises a detection of a pressure exertedon the touch sensitive surface by the object.
 16. The user input deviceof claim 13, wherein the user input device comprises a unibody housingand the touch sensitive surface is a surface of the unibody housing. 17.The user input device of claim 13, wherein the buttonless object signalis associated with a gesture.
 18. The user input device of claim 13,wherein the detection that an object is in proximity to the buttonlesssensing point comprises a detection that the object is positioned overthe user input device.
 19. A method of operating a user input devicehaving a touch sensitive surface divided into an array of buttonlesssensing points, the method comprising: detecting that an object is inproximity to a first buttonless sensing point of the array of buttonlesssensing points; generating a signal in response to the detecting, thesignal including information identifying a location associated with thefirst buttonless sensing point; combining signals from one or morebuttonless sensing points of the array of buttonless sensing points toform a buttonless object signal that defines a two-dimensional image ofan object in proximity to the touch sensitive surface at a surfacelocation, the two-dimensional image indicating a second buttonlesssensing point associated with the surface location; determining from thebuttonless object signal a zone, of a plurality of zones, associatedwith the second buttonless sensing point; and generating a functionsignal based on a function associated with the determined zone.
 20. Themethod of claim 19, wherein detecting that an object is in proximity toa buttonless sensing point comprises detecting that the object is incontact with the buttonless sensing point.
 21. The method of claim 20,wherein detecting that the object is in contact with the buttonlesssensing point comprises detecting a pressure exerted on the touchsensitive surface by the object.
 22. The method of claim 19, wherein theuser input device comprises a unibody housing and the touch sensitivesurface is a surface of the unibody housing.
 23. The method of claim 19,wherein the buttonless object signal is associated with a gesture. 24.The method of claim 19, wherein detecting that an object is in proximityto the buttonless sensing point comprises detecting that the object ispositioned over the user input device.
 25. A non-transitory computerreadable storage medium including computer-readable code that whenexecuted by a user input device including one or more processors and atouch sensitive surface divided into an array of buttonless sensingpoints, causes the one or more processors to perform a methodcomprising: detecting that an object is in proximity to a buttonlesssensing point of the array of buttonless sensing points; generating asignal in response to the detecting, the signal including informationidentifying a location of the buttonless sensing point; combiningsignals from one or more buttonless sensing points of the array ofbuttonless sensing points to form a buttonless object signal thatdefines a two-dimensional image of an object in proximity to the touchsensitive surface; determining from the buttonless object signal aselected zone amongst one or more zones of the touch sensitive surface,wherein each of the one or more zones is associated with a plurality ofbuttonless sensing points and is associated with a function; andgenerating a function signal based on a function associated with theselected zone.
 26. The non-transitory computer readable storage mediumof claim 25, wherein detecting that an object is in proximity to abuttonless sensing point comprises detecting that the object is incontact with the buttonless sensing point.
 27. The non-transitorycomputer readable storage medium of claim 26, wherein detecting that theobject is in contact with the buttonless sensing point comprisesdetecting a pressure exerted on the touch sensitive surface by theobject.
 28. The non-transitory computer readable storage medium of claim25, wherein the user input device comprises a unibody housing and thetouch sensitive surface is a surface of the unibody housing.
 29. Thenon-transitory computer readable storage medium of claim 25, wherein thebuttonless object signal is associated with a gesture.
 30. Thenon-transitory computer readable storage medium of claim 25, whereindetecting that an object is in proximity to the buttonless sensing pointcomprises detecting that the object is positioned over the user inputdevice.
 31. A non-transitory computer readable storage medium includingcomputer-readable code that when executed by a user input deviceincluding one or more processors and a touch sensitive surface dividedinto an array of buttonless sensing points, causes the one or moreprocessors to perform a method comprising: detecting that an object isin proximity to a first buttonless sensing point of the array ofbuttonless sensing points; generating a signal in response to thedetecting, the signal including information identifying a locationassociated with the first buttonless sensing point; combining signalsfrom one or more buttonless sensing points of the array of buttonlesssensing points to form a buttonless object signal that defines atwo-dimensional image of an object in proximity to the touch sensitivesurface at a surface location, the two-dimensional image indicating asecond buttonless sensing point associated with the surface location;determining from the buttonless object signal a zone, of a plurality ofzones, associated with the second buttonless sensing point; andgenerating a function signal based on a function associated with thedetermined zone.
 32. The non-transitory computer readable storage mediumof claim 31, wherein detecting that an object is in proximity to abuttonless sensing point comprises detecting that the object is incontact with the buttonless sensing point.
 33. The non-transitorycomputer readable storage medium of claim 32, wherein detecting that theobject is in contact with the buttonless sensing point comprisesdetecting a pressure exerted on the touch sensitive surface by theobject.
 34. The non-transitory computer readable storage medium of claim31, wherein the user input device comprises a unibody housing and thetouch sensitive surface is a surface of the unibody housing.
 35. Thenon-transitory computer readable storage medium of claim 31, wherein thebuttonless object signal is associated with a gesture.
 36. Thenon-transitory computer readable storage medium of claim 31, whereindetecting that an object is in proximity to the buttonless sensing pointcomprises detecting that the object is positioned over the user inputdevice.